package com.arpa.oms.domain.dto;

import com.arpa.wms.domain.entity.BasicEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * <p>
 * OMS收款单DTO
 * </p>
 *
 * @author LEO
 * @since 2020-11-17
 */
@Data
@ApiModel(value="OmsReceivableDTO对象", description="OMS收款单")
public class OmsReceivableDTO extends BasicEntity {



    @ApiModelProperty(value = "状态：NEWS（新增）、PENDING（待审核）、PASS（审核通过）、NO_PASS（审核不通过）")
    private String status;

    @ApiModelProperty(value = "收款单号")
    private String code;

    @ApiModelProperty(value = "付款人")
    private String customerName;

    @ApiModelProperty(value = "收款人标识",hidden = true)
    private String shipmentCode;

    @ApiModelProperty(value = "收款人名称")
    private String shipmentName;


    @ApiModelProperty(value = "制单开始日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate gmtBillStart;

    @ApiModelProperty(value = "制单结束日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate gmtBillEnd;


    @ApiModelProperty(value = "金额上限")
    private BigDecimal amountMoneyStart;
    @ApiModelProperty(value = "金额下限")
    private BigDecimal amountMoneyEnd;


    @ApiModelProperty(value = "减免金额上限")
    private BigDecimal amountReduceStart;
    @ApiModelProperty(value = "减免金额下限")
    private BigDecimal amountReduceEnd;


    @ApiModelProperty(value = "付款金额上限")
    private BigDecimal amountCollectedStart;
    @ApiModelProperty(value = "付款金额下限")
    private BigDecimal amountCollectedEnd;

    @ApiModelProperty(value = "第几页")
    private Integer pageNum=1;

    @ApiModelProperty(value = "每页条数")
    private Integer pageSize=10;

    @ApiModelProperty(value = "排序字段")
    private String sortField;

    @ApiModelProperty(value = "排序方式")
    private String sortType;

    @ApiModelProperty(value = "金额")
    private String amountMoney;

    @ApiModelProperty(value = "付款金额")
    private String amountCollected;

    @ApiModelProperty(value = "减免金额")
    private String amountReduce;

    @ApiModelProperty(value = "审核人")
    private String verifyBy;

    @ApiModelProperty(value = "审核人姓名")
    private String verifyName;

    @ApiModelProperty(value = "审核时间")
    private LocalDateTime gmtVerify;

    @ApiModelProperty(value = "审核时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime gmtVerifyStart;

    @ApiModelProperty(value = "审核时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime gmtVerifyEnd;

    @ApiModelProperty(value = "列表类型")
    private String listType;


}
